import Http from '@/utils/http'

/**
 * 歌单分类
 * 说明 : 调用此接口,可获取歌单分类,包含 category 信息
 */
export function getAllCatlist() {
  return Http.get('playlist/catlist')
}

/**
 * 热门歌单分类
 * 说明 : 调用此接口,可获取歌单分类,包含 category 信息
 */
export function hot() {
  return Http.get('playlist/hot')
}

/**
 * 获取歌单详情
 * 说明 : 歌单能看到歌单名字,
 * 但看不到具体歌单内容 , 调用此接口 , 传入歌单 id, 
 * 可以获取对应歌单内的所有的音乐(未登录状态只能获取不完整的歌单,登录后是完整的)，
 * 但是返回的trackIds是完整的，tracks 则是不完整的，
 * 可拿全部 trackIds 请求一次 song/detail 接口获取所有歌曲的详情 
 * (https://github.com/Binaryify/NeteaseCloudMusicApi/issues/452)
 * 
 * id : 歌单 id
 * s : 歌单最近的 s 个收藏者
 */
export function detail(params = {}) {
  return Http.get('/playlist/detail', {
    params
  })
}
/**
 * 收藏/取消收藏歌单
 * 说明 : 调用此接口 , 传入类型和歌单 id 可收藏歌单或者取消收藏歌单
 * t : 类型,1:收藏,2:取消收藏 id : 歌单 id
 */
export function subscribe(params = {}) {
  return Http.get('/playlist/subscribe', {
    params
  })
}
/**
 * 新建歌单
 * 说明 : 调用此接口 , 传入歌单名字可新建歌单
 * 必选参数 : name : 歌单名
 * 可选参数 : privacy : 是否设置为隐私歌单，默认否，传'10'则设置成隐私歌单
 */
export function create(name, privacy) {
  return Http.get('/playlist/create', {
    params: {
      name,
      privacy
    }
  })
}

/**
 * 对歌单添加或删除歌曲
 * 必选参数 :
 * op: 从歌单增加单曲为 add, 删除为 del
 * pid: 歌单 id 
 * tracks: 歌曲 id,可多个,用逗号隔开
 */
export function tracks(op, pid, tracks) {
  return Http.get('/playlist/tracks', {
    params: {
      op,
      pid,
      tracks
    }
  })
}
